﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//人员定位所需解析类
public class StaffClass
{
}
#region 授权令牌包体

//获取令牌请求包
public class GetTokeRequest
{
    /// <summary>
    /// 
    /// </summary>
    public List<string> buildIdList { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string appId { get; set; }
}
//获取令牌应答包
public class GetTokeReply
{
    /// <summary>
    /// 
    /// </summary>
    public int code { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string status { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string errMsg { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string data { get; set; }
}

#endregion

#region 建筑物下内部人员包体

//查询建筑物下所有内部人员-请求包
[Serializable]
public class BuildInsidersRequest
{
    /// <summary>
    /// 建筑ID
    /// </summary>
    public string buildId { get; set; }
    /// <summary>
    /// 请求的页数（最小是1）
    /// </summary>
    public int pageNumber { get; set; }
    /// <summary>
    /// 每页显示数据的条数（最小15，最大1000）
    /// </summary>
    public int pageSize { get; set; }
}

//查询建筑物下所有内部人员-应答包
[Serializable]
public class BuildInsidersReply
{
    /// <summary>
    /// 
    /// </summary>
    public int code { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string status { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string errMsg { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public BuildInsidersData data { get; set; }
}
[Serializable]
public class BuildInsidersData
{
    public List<BuildInsidersDataItem> content { get; set; }
}
[Serializable]
public class BuildInsidersDataItem
{
    /// <summary>
    /// 工号
    /// </summary>
    public string code { get; set; }
    /// <summary>
    /// 岗位名
    /// </summary>
    public string postName { get; set; }
    /// <summary>
    /// 人名
    /// </summary>
    public string name { get; set; }
    /// <summary>
    /// 职称
    /// </summary>
    public string title { get; set; }
    /// <summary>
    /// 身份：0-员工，1-管理人员 ，2-企业负责人
    /// </summary>
    public string role { get; set; }
    /// <summary>
    /// 健康状况
    /// </summary>
    public string healthStatus { get; set; }
    /// <summary>
    /// 手机号
    /// </summary>
    public string telephone { get; set; }
    /// <summary>
    /// 所属单位
    /// </summary>
    public string workCompany { get; set; }
    /// <summary>
    /// 专业类别
    /// </summary>
    public string major { get; set; }
}

#endregion

#region 建筑下外来人员包体
//外来人员请求包
[Serializable]
public class OutSideInsidersRequest
{
    /// <summary>
    /// 请求页数（最小1）
    /// </summary>
    public int pageNumber { get; set; }
    /// <summary>
    /// 每页显示数据（最小15）
    /// </summary>
    public int pageSize { get; set; }
    /// <summary>
    /// 开始时间
    /// </summary>
    public string startTime { get; set; }
    /// <summary>
    /// 结束时间
    /// </summary>
    public string endTime { get; set; }
    /// <summary>
    /// 建筑ID
    /// </summary>
    public string buildId { get; set; }
}

//外来人员应达包
[Serializable]
public class OutSideInsidersReply
{
    /// <summary>
    /// 
    /// </summary>
    public int code { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public List<OutSideInsidersDataItem> data { get; set; }
}

public class OutSideInsidersDataItem
{
    /// <summary>
    /// 
    /// </summary>
    public string leaveTime { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string visitTime { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public int inOutType { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string driverSn { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string driverIdCard { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string name { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string driverName { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string sn { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public int visitType { get; set; }
}

#endregion

#region 获取令牌
public class TokenRoot
{
	/// <summary>
	/// 
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string status
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string errMsg
	{
		get; set;
	}
	/// <summary>
	/// token
	/// </summary>
	public string token
	{
		get; set;
	}
}
#endregion

#region 所有内部人员-标准
public class PersonItemData
{
	/// <summary>
	/// 人员ID
	/// </summary>
	public int id
	{
		get; set;
	}
	/// <summary>
	/// 人员岗位ID
	/// </summary>
	public int postId
	{
		get; set;
	}
	/// <summary>
	/// 岗位名称
	/// </summary>
	public string postName
	{
		get; set;
	}
	/// <summary>
	/// 部门ID
	/// </summary>
	public int departId
	{
		get; set;
	}
	/// <summary>
	/// 部门名称
	/// </summary>
	public string departName
	{
		get; set;
	}
	/// <summary>
	/// 人员姓名
	/// </summary>
	public string name
	{
		get; set;
	}
	/// <summary>
	/// 性别
	/// </summary>
	public string sex
	{
		get; set;
	}
	/// <summary>
	/// SN 号
	/// </summary>
	public string sn
	{
		get; set;
	}
	/// <summary>
	/// 门禁卡号
	/// </summary>
	public string cardNumber
	{
		get; set;
	}
	/// <summary>
	/// 图标ID
	/// </summary>
	public int iconId
	{
		get; set;
	}
	/// <summary>
	/// 报警模板{"stayAlarmAreas":"","leaveAlarmAreas":"","id":1,"enterAlarmAreas":"","alarmFlags":["一键求救报警"]}
	/// </summary>
	public string alarmTemplate
	{
		get; set;
	}
	/// <summary>
	/// 扩展数据
	/// </summary>
	public string extFields
	{
		get; set;
	}
	/// <summary>
	/// 人员详情链接
	/// </summary>
	public string url
	{
		get; set;
	}
	/// <summary>
	/// 人员工号
	/// </summary>
	public string code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string socialCreditCode
	{
		get; set;
	}
	/// <summary>
	/// 男
	/// </summary>
	public string gender
	{
		get; set;
	}
	/// <summary>
	/// 生日
	/// </summary>
	public string birthday
	{
		get; set;
	}
	/// <summary>
	/// 曾用名
	/// </summary>
	public string oldName
	{
		get; set;
	}
	/// <summary>
	/// 身份 0-员工 1-管理人员 2-企业负责人
	/// </summary>
	public int role
	{
		get; set;
	}
	/// <summary>
	/// 工作单位
	/// </summary>
	public string workCompany
	{
		get; set;
	}
	/// <summary>
	/// 证件照id
	/// </summary>
	public string idCardImgId
	{
		get; set;
	}
	/// <summary>
	/// 民族
	/// </summary>
	public int nation
	{
		get; set;
	}
	/// <summary>
	/// 证件类型
	/// </summary>
	public string idCardType
	{
		get; set;
	}
	/// <summary>
	/// 证件号
	/// </summary>
	public string idCardNo
	{
		get; set;
	}
	/// <summary>
	/// 电话号码
	/// </summary>
	public string telephone
	{
		get; set;
	}
	/// <summary>
	/// 健康状况
	/// </summary>
	public string healthStatus
	{
		get; set;
	}
	/// <summary>
	/// 学历
	/// </summary>
	public int education
	{
		get; set;
	}
	/// <summary>
	/// 专业
	/// </summary>
	public string major
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string censusRegisterProvince
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string censusRegisterCity
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string censusRegisterArea
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string workAtProvince
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string workAtCity
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string workAtArea
	{
		get; set;
	}
	/// <summary>
	/// 通讯地址
	/// </summary>
	public string address
	{
		get; set;
	}
	/// <summary>
	/// 邮编
	/// </summary>
	public string postcode
	{
		get; set;
	}
	/// <summary>
	/// 参加工作时间
	/// </summary>
	public string joinWorkDate
	{
		get; set;
	}
	/// <summary>
	/// 职称/技能等级
	/// </summary>
	public string title
	{
		get; set;
	}
	/// <summary>
	/// 工作职责
	/// </summary>
	public string jobDuty
	{
		get; set;
	}
	/// <summary>
	/// 工作经历
	/// </summary>
	public string jobHistory
	{
		get; set;
	}
}

public class PersonData
{
	/// <summary>
	/// 
	/// </summary>
	public List<PersonItemData> content
	{
		get; set;
	}
}

public class PersonRoot
{
	/// <summary>
	/// 
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string status
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string errMsg
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public PersonData data
	{
		get; set;
	}
}

#endregion

#region 所有承包商人员-标准
public class ContractorContentItem
{
	/// <summary>
	/// 人员ID 
	/// </summary>
	public int id
	{
		get; set;
	}
	/// <summary>
	/// 岗位ID
	/// </summary>
	public int postId
	{
		get; set;
	}
	/// <summary>
	/// 岗位名称
	/// </summary>
	public string postName
	{
		get; set;
	}
	/// <summary>
	/// 部门ID
	/// </summary>
	public int departId
	{
		get; set;
	}
	/// <summary>
	/// 部门名称
	/// </summary>
	public string departName
	{
		get; set;
	}
	/// <summary>
	/// 人员姓名
	/// </summary>
	public string name
	{
		get; set;
	}
	/// <summary>
	/// 性别
	/// </summary>
	public string sex
	{
		get; set;
	}
	/// <summary>
	/// SN 号 
	/// </summary>
	public string sn
	{
		get; set;
	}
	/// <summary>
	/// 门禁卡号
	/// </summary>
	public string cardNumber
	{
		get; set;
	}
	/// <summary>
	/// 图标ID
	/// </summary>
	public int iconId
	{
		get; set;
	}
	/// <summary>
	/// 报警模板
	/// </summary>
	public string alarmTemplate
	{
		get; set;
	}
	/// <summary>
	/// 扩展数据
	/// </summary>
	public string extFields
	{
		get; set;
	}
	/// <summary>
	/// 人员详情链接
	/// </summary>
	public string url
	{
		get; set;
	}
}

public class ContractorData
{
	/// <summary>
	/// 
	/// </summary>
	public List<ContractorContentItem> content
	{
		get; set;
	}
	/// <summary>
	/// 总条数
	/// </summary>
	public int totalElements
	{
		get; set;
	}
	/// <summary>
	/// 总页数
	/// </summary>
	public int totalPages
	{
		get; set;
	}
	/// <summary>
	/// 当前页
	/// </summary>
	public int presentPage
	{
		get; set;
	}
}

public class ContractorRoot
{
	/// <summary>
	/// 
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string status
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string errMsg
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public ContractorData data
	{
		get; set;
	}
}
#endregion

#region 访客外来人员流水-标准

public class VisitRootPost
{
	/// <summary>
	/// 页码、最小值1
	/// </summary>
	public int pageNumber
	{
		get; set;
	}
	/// <summary>
	/// 页长、最小值15
	/// </summary>
	public int pageSize
	{
		get; set;
	}
	/// <summary>
	/// 开始时间
	/// </summary>
	public string startTime
	{
		get; set;
	}
	/// <summary>
	/// 结束时间
	/// </summary>
	public string endTime
	{
		get; set;
	}
	///<summary>
	/// 建筑id
	/// </summary>
	public string buildId
	{
		get; set;
	}
}

public class VisitDataItem
{
	/// <summary>
	/// 离开时间
	/// </summary>
	public string leaveTime
	{
		get; set;
	}
	/// <summary>
	/// 访问时间
	/// </summary>
	public string visitTime
	{
		get; set;
	}
	/// <summary>
	/// 进出类型，0进入1离开
	/// </summary>
	public int inOutType
	{
		get; set;
	}
	/// <summary>
	/// 司机定位卡号
	/// </summary>
	public string driverSn
	{
		get; set;
	}
	/// <summary>
	/// 司机身份证号
	/// </summary>
	public string driverIdCard
	{
		get; set;
	}
	/// <summary>
	/// 人员/车辆名称
	/// </summary>
	public string name
	{
		get; set;
	}
	/// <summary>
	/// 司机名称
	/// </summary>
	public string driverName
	{
		get; set;
	}
	/// <summary>
	/// 定位卡号
	/// </summary>
	public string sn
	{
		get; set;
	}
	/// <summary>
	/// 拜访对象类型, 0 访客; 1 车辆
	/// </summary>
	public int visitType
	{
		get; set;
	}
}

public class VisitRoot
{
	/// <summary>
	/// 状态码0成功1失败,其余的都是异常
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 数组
	/// </summary>
	public List<VisitDataItem> data
	{
		get; set;
	}
	/// <summary>
	/// 总数
	/// </summary>
	public int length
	{
		get; set;
	}
}

#endregion

#region 人员实时位置-标准

public class RealTimeData
{
	/// <summary>
	/// 穿戴设备编号
	/// </summary>
	public string deviceNo
	{
		get; set;
	}
	/// <summary>
	/// 员工姓名
	/// </summary>
	public string empName
	{
		get; set;
	}
	/// <summary>
	/// 员工工号(访客、承包商无工号，null)
	/// </summary>
	public string empNo
	{
		get; set;
	}
	/// <summary>
	/// 头像图片地址
	/// </summary>
	public string imgaddr
	{
		get; set;
	}
	/// <summary>
	/// 时间
	/// </summary>
	public string dateTime
	{
		get; set;
	}
	/// <summary>
	/// 经度
	/// </summary>
	public double longitude
	{
		get; set;
	}
	/// <summary>
	/// 纬度
	/// </summary>
	public double latitude
	{
		get; set;
	}
	/// <summary>
	/// 楼层数
	/// </summary>
	public int layer
	{
		get; set;
	}
	/// <summary>
	/// 工种类型
	/// </summary>
	public string worktype
	{
		get; set;
	}
	/// <summary>
	/// 人员卡类型(0:员工，1:访客，2:承包商，3：物品，4：车辆)
	/// </summary>
	public string specifictype
	{
		get; set;
	}
	/// <summary>
	/// 岗位名称
	/// </summary>
	public string worktypename
	{
		get; set;
	}
	/// <summary>
	/// 电话号码
	/// </summary>
	public string tel
	{
		get; set;
	}
	/// <summary>
	/// 穿戴设备当前电量
	/// </summary>
	public string electric
	{
		get; set;
	}
	/// <summary>
	/// 状态(离线 1是 0 否)
	/// </summary>
	public string islxsign
	{
		get; set;
	}
	/// <summary>
	/// 工作单位
	/// </summary>
	public string workunit
	{
		get; set;
	}
	/// <summary>
	/// 部门_工作组
	/// </summary>
	public string department
	{
		get; set;
	}
}

public class RealRoot
{
	/// <summary>
	/// 
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string status
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string errMsg
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public List<RealTimeData> data
	{
		get; set;
	}
}

#endregion

#region 报警列表-标准

public class AlarmContentItem
{
	/// <summary>
	/// 报警ID
	/// </summary>
	public int id
	{
		get; set;
	}
	/// <summary>
	/// 报警时间
	/// </summary>
	public int time
	{
		get; set;
	}
	/// <summary>
	/// 报警类型
	/// </summary>
	public string type
	{
		get; set;
	}
	/// <summary>
	/// 位置
	/// </summary>
	public string areaName
	{
		get; set;
	}
	/// <summary>
	/// 报警人员名字
	/// </summary>
	public string name
	{
		get; set;
	}
	/// <summary>
	/// SN号
	/// </summary>
	public string mac
	{
		get; set;
	}
	/// <summary>
	/// 处理时间
	/// </summary>
	public int handleTime
	{
		get; set;
	}
	/// <summary>
	/// 处理信息
	/// </summary>
	public string handleRemark
	{
		get; set;
	}
}

public class AlarmData
{
	/// <summary>
	/// 
	/// </summary>
	public List<AlarmContentItem> content
	{
		get; set;
	}
}

public class AlarmRoot
{
	/// <summary>
	/// 
	/// </summary>
	public int code
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string status
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public string errMsg
	{
		get; set;
	}
	/// <summary>
	/// 
	/// </summary>
	public AlarmData data
	{
		get; set;
	}
}

#endregion


#region 所有内部人员-所需

public class PersonItemDatas
{
	/// <summary>
	/// 人员岗位
	/// </summary>
	public string postName
	{
		get; set;
	}

	/// <summary>
	/// 部门名称
	/// </summary>
	public string departName
	{
		get; set;
	}

	/// <summary>
	/// 人员姓名
	/// </summary>
	public string name
	{
		get; set;
	}
	/// <summary>
	/// 人员工号
	/// </summary>
	public string code
	{
		get; set;
	}
	/// <summary>
	/// 身份 0-员工 1-管理人员 2-企业负责人
	/// </summary>
	public int role
	{
		get; set;
	}
	/// <summary>
	/// 工作单位
	/// </summary>
	public string workCompany
	{
		get; set;
	}
	/// <summary>
	/// 电话号码
	/// </summary>
	public string telephone
	{
		get; set;
	}
	/// <summary>
	/// 专业
	/// </summary>
	public string major
	{
		get; set;
	}
}

#endregion

#region 承包商-所需
public class ContractorContentItems
{
	/// <summary>
	/// 人员ID 
	/// </summary>
	public int id
	{
		get; set;
	}
	/// <summary>
	/// 岗位名称
	/// </summary>
	public string postName
	{
		get; set;
	}
	/// <summary>
	/// 部门名称
	/// </summary>
	public string departName
	{
		get; set;
	}
	/// <summary>
	/// 人员姓名
	/// </summary>
	public string name
	{
		get; set;
	}
}
#endregion

#region 外来人员-所需
public class VisitDataItems
{
	/// <summary>
	/// 离开时间
	/// </summary>
	public string leaveTime
	{
		get; set;
	}
	/// <summary>
	/// 访问时间
	/// </summary>
	public string visitTime
	{
		get; set;
	}
	/// <summary>
	/// 进出类型，0进入1离开
	/// </summary>
	public int inOutType
	{
		get; set;
	}
	/// <summary>
	/// 司机名称
	/// </summary>
	public string driverName
	{
		get; set;
	}
	/// <summary>
	/// 定位卡号
	/// </summary>
	public string sn
	{
		get; set;
	}
}

#endregion

#region 人员实时位置-所需

public class RealTimeDatas
{
	/// <summary>
	/// 员工姓名
	/// </summary>
	public string empName
	{
		get; set;
	}
	/// <summary>
	/// 员工工号(访客、承包商无工号，null)
	/// </summary>
	public string empNo
	{
		get; set;
	}
	public string imgaddr
	{
		get; set;
	}
	/// <summary>
	/// 时间
	/// </summary>
	public string dateTime
	{
		get; set;
	}
	/// <summary>
	/// 经度
	/// </summary>
	public double longitude
	{
		get; set;
	}
	/// <summary>
	/// 纬度
	/// </summary>
	public double latitude
	{
		get; set;
	}
	/// <summary>
	/// 楼层数
	/// </summary>
	public int layer
	{
		get; set;
	}
	/// <summary>
	/// 工种类型
	/// </summary>
	public string worktype
	{
		get; set;
	}
	/// <summary>
	/// 人员卡类型(0:员工，1:访客，2:承包商，3：物品，4：车辆)
	/// </summary>
	public string specifictype
	{
		get; set;
	}
	/// <summary>
	/// 岗位名称
	/// </summary>
	public string worktypename
	{
		get; set;
	}
	/// <summary>
	/// 电话号码
	/// </summary>
	public string tel
	{
		get; set;
	}
}

#endregion

#region 实时报警-所需

public class AlarmContentItems
{
	/// <summary>
	/// 报警ID
	/// </summary>
	public int id
	{
		get; set;
	}
	/// <summary>
	/// 报警时间
	/// </summary>
	public int time
	{
		get; set;
	}
	/// <summary>
	/// 报警类型
	/// </summary>
	public string type
	{
		get; set;
	}
	/// <summary>
	/// 位置
	/// </summary>
	public string areaName
	{
		get; set;
	}
	/// <summary>
	/// 报警人员名字
	/// </summary>
	public string name
	{
		get; set;
	}
}

#endregion
